This invention relates to computer applications, and more particularly, to providing real world contexts for applications in a computer system.
The term “real world” is used herein to describe non-computer based contexts. A real world view of a process may be, for example, related to a business context. Real world context instances describe something that has occurred which is of interest in the real world context. For example, a business context instance may describe an occurrence which is of interest to the business such as a new customer order arriving, an invoice being paid, or a complaint being received from a customer. Real world contexts may also include scientific experimental contexts, teaching or training related contexts, and other non-commerce related contexts.
Real world context instances do not refer to computer or information technology infrastructure. They are also not instances that necessarily reflect errors in the computer system. They are therefore not the same as more traditional “system events” which describe events that are going on in the computer infrastructure and are used by computer or IT professionals.
Business models use terms that are familiar to business users to describe how a computer system is operating. For various reasons, such as performance and reliability, computer systems rarely provide a straightforward implementation of these business models. For example, a single customer order may appear in a business model as a document passing between departments. However, in the computer system, it may begin as a JMS (Java™ Message Service, Java is a trade mark of Sun Microsystems, Inc. in the United States, other countries or both) or IBM® WebSphere® MQ (IBM and WebSphere are trademarks of International Business Machines Corporation in the United States, other countries or both) message, morph into a BPEL (Business Process Execution Language) process and end up as a number of database records dispersed throughout the computer system.
Over time, the connection between the application and the business model is lost, making it difficult to relate between the real world and the processing of the computer system. This affects the quality of user messages and other information generated by the computer system. It also makes it harder to understand the significance of failures in the computer system to the business.
Often a collection of records of business instances is needed to analyze a particular aspect of a business such as a historical trend or a statistical average. These records may be written over a period of time and consequently are interleaved with other, unrelated, records in the data stores.
The most efficient way to retrieve a collection of related business records is to classify them appropriately as they are written to the data stores. This classification is recorded in a particular field in each record. For example, if records contained a field for the day of the week that the record was written (“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday” or “Saturday”) it would be simple to retrieve all records generated on, say, any Monday.
However, it is unlikely that any one classification scheme will satisfy the information needs of all users. For example, one person may need to view records describing the activities of a particular user while another person may wish to view the history of all updates made to a particular object during a particular day, irrespective of who made the update.